<?php
/**
 * 后台管理账号 控制器
 */
class AdminAction extends Action {
	/**
	 * 账号列表显示
	 */
	function Index(){
		$User = D('admin');
		$count = $User->count('','aid');
		$listRows = 5;
		$fields = 'aid,username,password';
		import('ORG.Util.Page');
		$p = new Page($count,$listRows);
		$list = $User->cache(true)->findall('',$fields,'aid desc',$p->firstRow.','.$p->listRows);
		$page = $p->show();
		//模板输出
		$this->assign('Users',$list);
		$this->assign('page',$page);
		$this->display();
	}
	/**
	 * 创建新的账号
	 */
	function Insert(){
		//如果用户点击提交
		if ($this->isPost()) {
			$User = D('admin');
			//检查此用户名是否重复
				//用户输入一
			$Username = htmlspecialchars($_POST['username']);
				//用户输入密码一
			$Password1 = htmlspecialchars($_POST['password1']);
				//用户输入密码二
			$Password2 = htmlspecialchars($_POST['password2']);
			//构造条件
			$condition = array();
			$condition['username'] = $Username;
			$UserCount = $User->count($condition);
			//判断账号是否已经超过
			if ($UserCount >= 1) {
				halt('已经存在相同账号，不能重复录入');
			}
			//检查2次输入密码是否一致
			if ($Password1 != $Password2) {
				halt('两次输入密码不一致，请注意检查!');
			}
			$User->username = $Username;
			$User->password = md5($Password1);
			$User->created = time();
			$Re = $User->add();
			if (!$Re) {
				halt('尝试提交到数据库失败!请重试');
			}
			$this->redirect('Index','Admin');
		}
		//echo 'Test 2009年3月16日';
		$this->display();
	}
	/**
	 * 删除单个账号
	 */
	function Del(){
		//将传入的用户ID赋值到Aid
		$Aid = (int)$_GET['aid'];
		$User = D('admin');
		$Re = $User->delete($Aid);
		//删除失败，则进行提示.否则直接跳转到账号列表页面
		if (!$Re) {
			halt('对不起,尝试删除编号为'.$Aid.'的账号失败!');
		}
		$this->redirect('Index','Admin');
	}
	/**
	 * 修改某个账号信息
	 */
	function Update(){
		$Aid = (int)$_REQUEST['aid'];
		$User = D('admin');
		$U = $User->find($Aid);
		//如果点击提交
		if ($this->isPost()) {
			//赋值
			$Password1 = $_POST['password1'];
			$Password2 = $_POST['password2'];
			//检查2次输入密码是否一致
			if ($Password1 != $Password2) {
				halt('对不起，二次输入密码不一致，请检查后重新提交!');
			}
			$User->password = md5($Password1);
			$User->updated = time();
			$Re = $User->save();
			if (!$Re) {
				halt('提交到数据库失败!');
			}
			$this->redirect('Index','Admin');
		}
		//根据编号进行查找
		$this->assign('aid',$Aid);
		$this->assign('U',$U);
		$this->display();
	}
}